<html>
    <head>
        <title>从主数据库中删除模块</title>
    </head>
    <body>
        <script>
            /*
                 3、从主数据库中删除模块

                                            我们已经创建了第二个数据库，其中包含审计日志记录、权限管理和设置管理模块的表。

                                            因此，我们应该从主数据库中删除这些表。这很容易。

                                            首先，从BookStoreDbContext类中删除以下行：

                                                    builder.ConfigurePermissionManagement();
                                                    builder.ConfigureSettingManagement();
                                                    builder.ConfigureAuditLogging();   
                                                    
                                            打开包管理器控制台，选择.EntityFrameworkCore作为默认项目（确保.Web项目仍然是启动项目）并运行以下命令：

                                                    " Add-Migration "Removed_Audit_Setting_Permission_Modules" -Context BookStoreDbContext " 
                                                        
                                            此命令将创建一个新的迁移类，如下所示：

                                                    public partial class Removed_Audit_Setting_Permission_Modules : Migration
                                                    {
                                                        protected override void Up(MigrationBuilder migrationBuilder)
                                                        {
                                                            migrationBuilder.DropTable(
                                                                name: "AbpAuditLogActions");

                                                            migrationBuilder.DropTable(
                                                                name: "AbpEntityPropertyChanges");

                                                            migrationBuilder.DropTable(
                                                                name: "AbpPermissionGrants");

                                                            migrationBuilder.DropTable(
                                                                name: "AbpSettings");

                                                            migrationBuilder.DropTable(
                                                                name: "AbpEntityChanges");

                                                            migrationBuilder.DropTable(
                                                                name: "AbpAuditLogs");
                                                        }

                                                        ...
                                                    }

                                             在这一步中要小心：

                                                    如果你有一个live system，那么你应该关心数据丢失。在删除表之前，你需要将表内容移动到第二个数据库。
                                                    
                                                    如果你尚未启动你的项目，你可以考虑删除所有迁移并重新创建初始迁移以获得更清晰的迁移历史记录。

                                            运行以下命令从主数据库中删除表：

                                                    "Update-Database -Context BookStoreDbContext"


                                            ★、注意： 请注意，如果你没有将初始种子数据复制到新数据库，你还删除了一些初始种子数据（例如，管理员角色的权限授予）。
                                                      如果你运行应用程序，你可能不再登录。
                                                      解决方案很简单：重新运行.DbMigrator控制台应用程序在你的解决方案中，它将为新数据库播种。

            */
        </script>
    </body>
</html>